﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum СостоянияЗаявкиНаОбслуживаниеОсновныхСредств
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///Заявка создана и открыта для выполнения
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"cc298862-aa6b-44e8-95de-d235acae5a19\", \"Представление\":\"Открыта\"}")]
		Открыта = 0,
	///<summary>
	///Заявка включена в план ремонтов
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"84a20aa2-52ca-4f0b-9d34-0231470c895d\", \"Представление\":\"Запланирована\"}")]
		Запланирована = 1,
	///<summary>
	///Заявка закрыта
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"19516f6d-8c99-4998-a363-2beb4302d661\", \"Представление\":\"Закрыта\"}")]
		Закрыта = 2,
	}
	public static partial class СостоянияЗаявкиНаОбслуживаниеОсновныхСредств_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///Заявка создана и открыта для выполнения
		///</summary>
		public static readonly Guid Открыта = new Guid("35d2de95-aeac-195a-44e8-aa6bcc298862");
		///<summary>
		///Заявка включена в план ремонтов
		///</summary>
		public static readonly Guid Запланирована = new Guid("3102349d-0c47-5d89-4f0b-52ca84a20aa2");
		///<summary>
		///Заявка закрыта
		///</summary>
		public static readonly Guid Закрыта = new Guid("eb2b63a3-0243-61d6-4998-8c9919516f6d");
		public static СостоянияЗаявкиНаОбслуживаниеОсновныхСредств Получить(this СостоянияЗаявкиНаОбслуживаниеОсновныхСредств Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СостоянияЗаявкиНаОбслуживаниеОсновныхСредств Получить(this СостоянияЗаявкиНаОбслуживаниеОсновныхСредств Значение, Guid Ссылка)
		{
			if(Ссылка == Открыта)
			{
				return СостоянияЗаявкиНаОбслуживаниеОсновныхСредств.Открыта;
			}
			else if(Ссылка == Запланирована)
			{
				return СостоянияЗаявкиНаОбслуживаниеОсновныхСредств.Запланирована;
			}
			else if(Ссылка == Закрыта)
			{
				return СостоянияЗаявкиНаОбслуживаниеОсновныхСредств.Закрыта;
			}
			return СостоянияЗаявкиНаОбслуживаниеОсновныхСредств.ПустаяСсылка;
		}
		public static byte[] Ключ(this СостоянияЗаявкиНаОбслуживаниеОсновныхСредств Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СостоянияЗаявкиНаОбслуживаниеОсновныхСредств Значение)
		{
			switch (Значение)
			{
				case СостоянияЗаявкиНаОбслуживаниеОсновныхСредств.Открыта: return Открыта;
				case СостоянияЗаявкиНаОбслуживаниеОсновныхСредств.Запланирована: return Запланирована;
				case СостоянияЗаявкиНаОбслуживаниеОсновныхСредств.Закрыта: return Закрыта;
			}
			return Guid.Empty;
		}
	}
}